package view.salas;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.SpinnerNumberModel;

import model.Sala;
import model.comunication.ISala;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class CrearSala extends JFrame {

	private JPanel contentPane;
	private JTextField textFieldNombre;
	private ISala cmmSala;
	private JSpinner spinCantDePcs;
	private JSpinner spinCapacidad;
	private JTextArea textAreaDescripcion;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					CrearSala frame = new CrearSala();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public CrearSala() {
		setTitle("Crear Sala");
		setVisible(true);
		cmmSala = ISala.getInstance();

		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 479, 394);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);

		JLabel lblNombre = new JLabel("Nombre:");
		lblNombre.setBounds(10, 44, 67, 22);
		contentPane.add(lblNombre);

		JLabel lblCapacidad = new JLabel("Capacidad:");
		lblCapacidad.setBounds(10, 77, 67, 22);
		contentPane.add(lblCapacidad);

		JLabel lblCantidadDePcs = new JLabel("Cantidad de PC's:");
		lblCantidadDePcs.setBounds(10, 110, 108, 22);
		contentPane.add(lblCantidadDePcs);

		JLabel lblDescripcion = new JLabel("Descripcion:");
		lblDescripcion.setBounds(10, 143, 84, 22);
		contentPane.add(lblDescripcion);

		spinCapacidad = new JSpinner();
		spinCapacidad.setBounds(123, 77, 54, 20);
		contentPane.add(spinCapacidad);
		SpinnerNumberModel spinCapmodel = new SpinnerNumberModel(0, 0, 100, 1); // TODO Modificar valor maximo, preguntar al profe
		spinCapacidad.setModel(spinCapmodel);

		spinCantDePcs = new JSpinner();
		spinCantDePcs.setBounds(123, 110, 54, 20);
		contentPane.add(spinCantDePcs);
		SpinnerNumberModel spinCantPcmodel = new SpinnerNumberModel(0, 0, 100, 1);// TODO Modificar valor maximo, preguntar al profe
		spinCantDePcs.setModel(spinCantPcmodel);

		JScrollPane scrollPaneDescripcion = new JScrollPane();
		scrollPaneDescripcion.setBounds(10, 176, 443, 101);
		contentPane.add(scrollPaneDescripcion);

		textAreaDescripcion = new JTextArea();
		scrollPaneDescripcion.setViewportView(textAreaDescripcion);

		textFieldNombre = new JTextField();
		textFieldNombre.setBounds(64, 45, 113, 20);
		contentPane.add(textFieldNombre);
		textFieldNombre.setColumns(10);

		JButton btnRegistrar = new JButton("Registrar");
		btnRegistrar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				Sala s = cmmSala.getSala(textFieldNombre.getText(), Integer.parseInt(spinCapacidad.getValue().toString()), Integer.parseInt(spinCantDePcs.getValue().toString()),
						textAreaDescripcion.getText());
				cmmSala.addSala(s);
				dispose();
				//TODO que se agregue al jcombobox
			}
		});
		btnRegistrar.setBounds(364, 322, 89, 23);
		contentPane.add(btnRegistrar);

		JButton btnCancelar = new JButton("Cancelar");
		btnCancelar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				dispose();
			}
		});
		btnCancelar.setBounds(240, 322, 89, 23);
		contentPane.add(btnCancelar);
		
		JLabel lblDatos = new JLabel("Datos----------------------------------------------------------------------------------------------------");
		lblDatos.setBounds(10, 11, 431, 14);
		contentPane.add(lblDatos);

	}
}
